package com.tidemark;

/**
 * Readers read data, analyze data, give Proposal
 * 
 * GUI systems can display the Proposal according to the Proposal contents
 */
public interface Reader{
	
	/**
	 * propose from scratch 
	 * @return a new proposal is returned, with current reader's signature, without comments
	 */
	public Proposal propose();
	
	/**
	 * give comment to input
	 * 
	 * @param input 
	 * @return the input.comment will be changed and returned 
	 */
	public Proposal comment(Proposal input);
	
	
}